package com.avantis.common.base;

import org.springframework.data.domain.Example;

import java.util.List;

/**
 * @ClassName BaseService
 * @Description Service 通用接口
 * @Author kirago
 * @Date 2018/11/26 19:57
 * @Version 1.0
 **/
public interface BaseService<T> {

	T findOne(int key);

	T save(T entity);

	void delete(Object key);

	List<T> findAll();

	/**
	 * 批量删除
	 * @param iterable
	 */
	void deleteInBatch(Iterable<T> iterable);

	/**
	 * 批量查找
	 * @param iterable
	 * @return
	 */
	List<T> findAll(Example<T> iterable);

	/**
	 * 批量保存
	 * @param iterable
	 * @return
	 */
	List<T> saveAll(Iterable<T> iterable);
}
